const t = getApp()
Page({
  data: {
    iconsUrl:t.globalData.iconsUrl,
    list:[],
    total:0,
    page: '1',
    pages: '',
    size: 10,
    swiper:[],
    lat:'',
    lon:'',
    loading:true,
    // baiduAK:'FNKrsLmAYvpX9vRs8aaCga0uFXfWfbQN',
    // gaodeAK:'f69e9aff1c198bc1f72a6877f027cb4a',
    // hefengAK:'4760cdb3f52a407e9ef96e9f2ee69b22',
    // weatherarr: '',
    province:'',
    city:'',
    today:[],
    tomorrow:[],
    dayAfterTomorrow:[],
    more:false,
    canmore:false,
    navHeight:t.globalData.navHeight,
    title:'美途洗车',
  // 个人信息修改弹窗
    showPopup:false,
    birthday:'',
    avatarUrl:'',
    avatarbase64:'',
    userinfo:{},
  // 美途洗车新鲜事
		activity:[],
	// 新手指引链接
		outUrl:''
  },
  onLoad(e){
    
  },
  onShow(e){
    // ---------------------
    var that = this
    that.autoUpdate()
    wx.login({
      success: res => {
        t.request('/login',{code:res.code},function(r){
          t.globalData.token = r.result.token;
          wx.setStorageSync('token', r.result.token);
          that.setData({
            userinfo:r.result.userInfo
          })
          that.get_activity()
          // --------判断定位授权---------------------------
                // 判断用户是否拒绝了授权
                wx.getSetting({
                  success: res => {
                    console.log(res.authSetting['scope.userLocation'])
                    // 判断是否授权 工具里是undefined
                    if (res.authSetting['scope.userLocation']) {
                      // 如果已经授权，获取定位
                      that.getLocation()
                    }else{
                      that.showAuthorizePrompt()
                    }
                  }
                });
              // ------------------------------------------------------------
         
          if(r.result.userInfo.get_phone == 0){
            t.globalData.show_tel_login = true;
          }else{
            wx.setStorageSync('tel', r.result.userInfo.phone)
            t.globalData.show_tel_login = false;
          }
        })
      }
    })
		this.get_swiper()
		this.get_outUrl() //获取新手指引的外链
  },
  // 授权
  showAuthorizePrompt: function() {
    wx.authorize({
      scope: 'scope.userLocation',
      success: () => {
        console.log("授权定位")
        // 用户同意授权后，再次调用获取位置信息的方法
        this.getLocation();
      },
      fail: () => {
        // 用户拒绝授权，可以提示用户开启位置权限的重要性
        wx.showModal({
          title: '提示',
          content: '您拒绝了定位权限，将无法使用门店功能',
          success: res => {
            if (res.confirm) {
              // 跳转设置页面
              wx.openSetting({
                success: res => {
                  if (res.authSetting['scope.userLocation']) {
                    // 授权成功，重新定位
                    that.getLocation()
                  } else {
                    // 没有允许定位权限
                    
                  }
                }
              });
            }
          }
        });
        // ---------------------
      }
    });
  },
  // 获取定位，门店列表
  getLocation: function() {
    let that = this
    wx.getLocation({
      type: 'gcj02',
      success (res) {
        that.setData({
          lat:res.latitude,
          lon:res.longitude
        })
        that.get_list() //获取门店列表
      },
      fail: function (res) {
        wx.showToast({
          title: '请开启手机定位服务以提供更好的体验',
          icon: 'none',
          duration: 5500,
        });
        console.error('获取位置信息失败：',res);
       }
    })
  },
  onRefresh(){
    //在当前页面显示导航条加载动画
    wx.showNavigationBarLoading(); 
    //显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框
  },
  onPullDownRefresh: function () {
    //调用刷新时将执行的方法
    this.onRefresh();
    setTimeout(function () {
      // 不加这个方法真机下拉会一直处于刷新状态，无法复位
      wx.stopPullDownRefresh()
    }, 1000)
  },
  // 最近门店使用
  get_list(e){
    var that = this
    var o = {
      lat:this.data.lat || 0,
      lng:this.data.lon || 0,
      page: this.data.page,
      size: this.data.size
    }
    t.request('/store/lsst',o,function(e){
      wx.hideLoading({
        success: (res) => {},
      })

      //返回数据后赋值、循环
      var arr = e.result.list;
      arr.forEach(function (v, k) {
          //将每一个值追加到list数组中
          v.distance = v.distance.toFixed(1)
          that.data.list.push(v)
      });
      //替换掉list，page，pages（后边两个值均为返回的值）
      that.setData({
          list: that.data.list,
          pages: e.result.pages,
          total:e.result.total,
          page: e.result.page,
      })    
      
    })

  },
  // banner list
  get_swiper(e){
    var that = this
    t.request('/banner/getList',{},function(e){
      console.log(e);
      if(e.code!==200)return wx.showToast({ title:e.msg,icon:"none" })
      if (e.result.list.length<=0) return
      let list = e.result.list
      that.setData({
        swiper:list
      })
    })
	},
	// 获取新手指引外链
	get_outUrl(e){
		var that = this
    t.request('/Users/externalLinks',{},function(e){
      if(e.code==200){
				that.setData({
					outUrl:e.result.newbie_url
				})
			} 
    })
	},
  // 美途洗车新鲜事
  get_activity(e){
    var that = this
    t.request('/Users/getactivity',{},function(e){
      if(e.code!==200)return wx.showToast({ title:e.msg,icon:"none" })
      that.setData({
        activity:e.result
      })
    })
  },
  // 页面跳转（1、web-view，2小程序）
  outView(e){
    let url = e.currentTarget.dataset.path
    console.log(url)
    if(!url){return false}
    if(e.currentTarget.dataset.type ==1){
      // wx.openOfficialAccountArticle({
      //   url:url, // 此处填写公众号文章连接
      // })
      wx.navigateTo({
        url: '/pages/outview/article?url='+url,
      })
    }
  },
  // 选择头像
  onChooseAvatar(e) {
    const { avatarUrl } = e.detail;
    console.log(e.detail.avatarUrl);
    let av=e.detail.avatarUrl;
    let av1=wx.getFileSystemManager().readFileSync(av,'base64');
    let avatarUrl1 = "data:image/jpeg;base64,"+av1;
    console.log(avatarUrl1)
    this.setData({
      avatarUrl,
      avatarbase64:avatarUrl1
    })
  },
  //显示user编辑弹窗
  onShowPopup(){
    let that = this;
    that.setData({
      showPopup: !that.data.showPopup
    })
  },
  //提交保存信息（编辑user）
  formSubmit(e) {
    let that = this
    let formD = e.detail.value;//获取表单数据
    let obj = {
      avatar:that.data.avatarUrl?that.data.avatarbase64:'',
      birthday:that.data.birthday,
      nick_name:formD.nick_name,
    }
    t.request('/Users/upUserInfo',obj,function(e){
      if(e.code!==200)return wx.showToast({ title:e.msg,icon:"none" })
      let userinfo = that.data.userinfo
      userinfo.avatar = e.result.avatar
      userinfo.nick_name = e.result.nick_name
      userinfo.birthday = e.result.birthday
      that.setData({
        userinfo
      })
      that.onShowPopup()
    })
  },
  // 生日
  bindDateChange: function(e) {
    console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      birthday: e.detail.value
    })
  },

  // 页面即将上线提示
  show_fake(e){
		wx.navigateTo({
			url: '/pages/outview/article?url='+this.data.outUrl,
		})
    // wx.showToast({
    //   title: '页面即将上线',
    //   icon:'none'
    // })
  },
  // 页面跳转
  goUrl(e){
    let url = e.currentTarget.dataset.url
    console.log(url)
    wx.navigateTo({
      url: url,
    })
  },
  onShareAppMessage(e){},
  // ------------------------自动更新小程序--------------------------------------
  autoUpdate() {
    var self = this
    // 获取小程序更新机制兼容
    if (wx.canIUse('getUpdateManager')) {
      console.log('检测更新')
      const updateManager = wx.getUpdateManager()
      //1. 检查小程序是否有新版本发布
      updateManager.onCheckForUpdate(function(res) {
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          //检测到新版本，需要更新，给出提示
          wx.showModal({
            title: '更新提示',
            content: '检测到新版本，是否下载新版本并重启小程序？',
            success: function(res) {
              if (res.confirm) {
                //2. 用户确定下载更新小程序，小程序下载及更新静默进行
                self.downLoadAndUpdate(updateManager)
              } else if (res.cancel) {
                //用户点击取消按钮的处理，如果需要强制更新，则给出二次弹窗，如果不需要，则这里的代码都可以删掉了
                wx.showModal({
                  title: '温馨提示~',
                  content: '本次版本更新涉及到新的功能添加，旧版本无法正常访问的哦~',
                  showCancel: false, //隐藏取消按钮
                  confirmText: "确定更新", //只保留确定更新按钮
                  success: function(res) {
                    if (res.confirm) {
                      //下载新版本，并重新应用
                      self.downLoadAndUpdate(updateManager)
                    }
                  }
                })
              }
            }
          })
        }
      })
    } else {
      // 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
      })
    }
  },
  /**
   * 下载小程序新版本并重启应用
   */
  downLoadAndUpdate(updateManager) {
    var self = this
    wx.showLoading();
    //静默下载更新小程序新版本
    updateManager.onUpdateReady(function() {
      wx.hideLoading()
      //新的版本已经下载好，调用 applyUpdate 应用新版本并重启
      updateManager.applyUpdate()
    })
    updateManager.onUpdateFailed(function() {
      // 新的版本下载失败
      wx.showModal({
        title: '已经有新版本了哟~',
        content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~',
      })
    })
  },

})
